// LightTable.h: interface for the CLightTable class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_LIGHTTABLE_H__3A139818_4126_4E2F_9B96_8BDC519A0EE6__INCLUDED_)
#define AFX_LIGHTTABLE_H__3A139818_4126_4E2F_9B96_8BDC519A0EE6__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <map>

class LightInfo;

class CLightTable  
{
	std::map<int, int> m_horzLightMap;
	std::map<int, int> m_vertLightMap;
	std::map<int, int> m_vert2LightMap;

public:
	enum {
		HorzLight,
		VertLight,
		Vert2Light
	};

	CLightTable();
	virtual ~CLightTable();

	BOOL Load();
	void Save();
	void Clear();

	void SetLightValue(long type, int devValue, int logValue);
	
	long DevToLog(long type, int devValue);
	void DevToLog(LightInfo* lightInfo);
	void DevToLog(long type, LightInfo* lightInfo);
	
	long LogToDev(long type, int logValue);
	void LogToDev(long type, LightInfo* lightInfo);
	void LogToDev(LightInfo* lightInfo);
	void TransDevToLog(LightInfo* lightInfo);
	void TransLogToDev(LightInfo* lightInfo);
};

#define LIGHT_TABLE_FILE	"LightTable.ini"

#endif // !defined(AFX_LIGHTTABLE_H__3A139818_4126_4E2F_9B96_8BDC519A0EE6__INCLUDED_)
